package com.hsj.designpartten.factory;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 工厂类
 * @Description:TODO
 * @author:hsj qq:2356899074
 * @time:2017年11月2日 上午10:29:56
 */
public class SendFactory {
	/**
	 * 日志记录
	 */ 
	 private static final Logger LOGGER = LoggerFactory.getLogger(SendFactory.class);
	/**
	 * email
	 */
	public final static String MAIL = "mail";
	/**
	 * sms
	 */
	public final static String SMS = "sms";

	/**
	 * 工厂方法
	 * @Description:TODO
	 * @author:hsj qq:2356899074
	 * @time:2017年11月2日 上午10:30:08
	 * @param type
	 * @return
	 */
	 public Sender produce(String type) {  
	        if (MAIL.equals(type)) {  
	            return new EmailSender();  
	        } else if (SMS.equals(type)) {  
	            return new SmsSender();  
	        } else {  
	        	LOGGER.info("请输入正确的类型!");
	            return null;  
	        }  
	    }
	 
	 /**
	  * EmailSender
	  * @Description:TODO
	  * @author:hsj qq:2356899074
	  * @time:2017年11月2日 上午10:45:39
	  * @return
	  */
	 public Sender EmailSenderProduce(){
		 return new EmailSender();
	 }
	 
	 /**
	  * SmsSender
	  * @Description:TODO
	  * @author:hsj qq:2356899074
	  * @time:2017年11月2日 上午10:46:19
	  * @return
	  */
	 public Sender SmsSenderProduce(){
		 return new SmsSender();
	 }
	 /**
	  * 获取工厂实例
	  * @Description:TODO
	  * @author:hsj qq:2356899074
	  * @time:2017年11月2日 上午10:47:41
	  * @return
	  */
	 public static SendFactory getSendFactoryInstance(){
		 return new SendFactory();
	 }
}
